//#define _CRT_SECURE_NO_WARNINGS 1
//
//#include<iostream>
//using namespace std;
//
//class listnode
//{
//public:
//
//	listnode(int x)
//		:val(x)
//		,next()
//	{
//		cout << "listnode(int x)" << endl;
//	}
//
//	~listnode()
//	{
//		cout << "~listnode()" << endl;
//	}
//
////private:
//	int val;
//	listnode* next;
//};
//
//class A
//{
//public:
//
//	A(int a = 0)
//		:_a(a)
//	{
//		cout <<"A()"<< endl;
//	}
//
//	/*~A()
//	{
//		cout << "~A()" << endl;
//	}*/
//
//	A operator[](int x)
//	{
//
//	}
//
////private:
//	int _a;
//};
//
//int main()
//{
//	/*A* pa = new A[10];
//	for (int i = 0; i < 10; i++)
//	{
//		cout << pa[i]._a << " ";
//	}
//	delete pa;*/
//	/*listnode* n1 = new listnode(1);
//	listnode* n2 = new listnode(2);
//	listnode* n3 = new listnode(3);
//	n1->next = n2;
//	n2->next = n3;
//	delete n1;
//	delete n2;
//	delete n3;*/
//
//	//int* pa = new int[1]{ 233 };
//	//cout << *pa << endl;
//	//delete pa;
//
//	//int* parr = new int[10]{ 1,2,3,4 };
//	//for (int i = 0; i < 10; i++)
//	//{
//	//	cout << parr[i] << " ";
//	//}
//	A* a = (A*)malloc(sizeof(A));
//
//	//new (a)A(1);
//	delete a;
//	
//	A* pa = new A(2);
//	delete pa;
//	return 0;
//}